<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/PariGest/pages/inc/entete.php';
require_once $REP_CLASS . 'class.Parametrage.php';
require_once $REP_CLASS . 'class.Compte.php';

function chargeParametrage($parametrage)
{
  $parametrage->setIdCompte(getChaineNotNullSinon("idCompte","0"));
  $parametrage->setIdParametrage(getChaineNotNullSinon("idParametrage","0"));
  $parametrage->setMiseMini(getChaineNotNullSinon("MiseMini", "0.00"));
  $parametrage->setBeneficeMini(getChaineNotNullSinon("BeneficeMini", "0.00"));
  $parametrage->setCommentaire(getChaineNotNullSinon("Commentaire", ""));
  $parametrage->setModeCumule(getChaineNotNullSinon("ModeCumule","off")=="off"?"0":"1");
}

try
{
  $parametrage = new Parametrage($db);
  $compte = new Compte($db);
  
  $idCompteSelected = getChaineNotNullSinon("idCompte","0");
  
  if( $action == 'UPDATE' )
  {
    // $trace->fb('setIdCompte ' . getChaineNotNullSinon("idCompte_0","0"));
    chargeParametrage($parametrage);
    //$trace->fb("getIdCompte : " . $parametrage->getIdCompte() . ' - ' . getChaineNotNullSinon("idCompte","0"));
    if( $parametrage->getIdParametrage() == 0 )
    {
      // Insertion
      //$parametrage->setIdParametrage($parametrage->getNextId());
      $parametrage->insertion();
    }
    else
    {
      // Modification
      $parametrage->modification();
    }    
  }
  else // Affichage
  {
    if( getChaineNotNullSinon("idCompte","0") == "0" )
    {
      // chargement du parametrage du compte par defaut
      $compte->setDefaut(1);
      $result = $compte->select();
      $lgCompte = $result->fetch();
      if( $lgCompte )
      {
        $idCompteSelected = $lgCompte["IdCompte"];
        $parametrage->setIdCompte($idCompteSelected);
        $lstParam = $parametrage->select();
        $lgParam = $lstParam->fetch();
        if( $lgParam )
        {
          $parametrage->setIdParametrage($lgParam["IdParametrage"]);
          $parametrage->affichage();
        }
        else
        {
          $parametrage = new Parametrage($db);
        }
      }
    }
    else
    {
      // chargement du parametrage du compte passé en parametre à la page
      $parametrage->setIdCompte(getChaineNotNullSinon("idCompte","0"));
      $parametrage->affichage();
    }
  }
  
  $db->commit();
  
  $smarty->assign('idParametrage', $parametrage->getIdParametrage());
  $smarty->assign('MiseMini', $parametrage->getMiseMini());
  $smarty->assign('BeneficeMini', $parametrage->getBeneficeMini());
  $smarty->assign('Commentaire', $parametrage->getCommentaire());
  $smarty->assign('ModeCumule', $parametrage->getModeCumule());
}
catch(MyException $e)
{
  $trace->fb('!!!!! ERREUR !!!!!');
  include $_SERVER['DOCUMENT_ROOT'].'/PariGest/pages/inc/catch.php';
}
// Récupération des classes
$compte = new Compte($db);
$stmtCompte = $compte->select();

// Récupère la liste des comptes
$smarty->assign('stmtCompte', $stmtCompte->fetchAll());

$smarty->assign('IdCompteSelected', $idCompteSelected);

$smarty->display('param_parametrage.tpl');
?>



